Skip to content

New tutorial: Partitioned Burgers eq. 1D #670

Merged
MakisH merged 63 commits into
developfrom
partitioned-burgers-1d
Jun 23, 2026
Merged

New tutorial: Partitioned Burgers eq. 1D #670
MakisH merged 63 commits into
developfrom
partitioned-burgers-1d

Conversation

@vidulejs

@vidulejs vidulejs commented Sep 29, 2025

Copy link
Copy Markdown
Collaborator

New tutorial case: Partitioned Burgers' Equation in 1D solved with SciPy Finite Volume implementation and a Neural Network surrogate model !

  • Fix README.md to comply with the standard
  • How to run surrogate,
  • Improve README.md further
  • Clean up the scripts in base directory
  • What to do with the initial condition generation? Steps are too complex currently
  • How to reproduce the offline model, i.e., training scripts
  • Either remove old .solver-nutils-dgalerkin or fix
  • Read through again https://precice.org/community-contribute-to-precice.html
  • Allow skipping venv setup

Checklist:

  • I added a summary of any user-facing changes (compared to the last release) in the changelog-entries/<PRnumber>.md.
  • I will remember to squash-and-merge, providing a useful summary of the changes of this PR.

@vidulejs vidulejs requested a review from uekerman September 29, 2025 15:15
… in visualize_partitioned_domain.py. Wrap boundary conditions in new class BoundaryWrapper because they are dependent on the solver iterations. Implement implicit Euler (and Jacobian and residual for the root finding iteration. Initialize participants. Zero gradient condition on the outside boundaries.
@vidulejs vidulejs changed the title Partitioned Burgers eq. 1D New tutorial: Partitioned Burgers eq. 1D Oct 1, 2025
…-surrogate.sh, generate-training-data.sh. Fix floating point issue in t_index. Add --savefile argument to solver-scipy-fvolumes.py to save data for training.
…n scripts. Fix requirements.txt for scipy and surrogate solvers. Add example images for README
…ipt to check for initial conditions after installing environment.
@vidulejs vidulejs marked this pull request as ready for review October 15, 2025 13:04

@uekerman uekerman left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the very nice addition already! I only had brief look in this first iteration and did not yet try to run things. Please see comments below.

Let's indeed remove the Nutils solver. Could always be added later again.

Comment thread partitioned-burgers-1d/README.md Outdated
Comment thread partitioned-burgers-1d/README.md Outdated
Comment thread partitioned-burgers-1d/README.md Outdated
Comment thread partitioned-burgers-1d/README.md Outdated
Comment thread partitioned-burgers-1d/README.md Outdated
Comment thread partitioned-burgers-1d/solver-scipy/solver.py Outdated
Comment thread partitioned-burgers-1d/precice-config.xml Outdated
Comment thread partitioned-burgers-1d/neumann-surrogate/run.sh Outdated
Comment thread partitioned-burgers-1d/neumann-surrogate/clean.sh Outdated
Comment thread partitioned-burgers-1d/clean.sh Outdated
Comment thread partitioned-burgers-1d/README.md Outdated

@uekerman uekerman left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was able to run the cases and got meaningful results. We are probably close to merging this. Mainly cosmetics now.

I think a few scripts of utils could go into solver-scipy. Only keep those in utils that are used by neumann-surrogate as well.

Comment thread changelog-entries/670.md Outdated
Comment thread partitioned-burgers-1d/README.md Outdated
Comment thread partitioned-burgers-1d/README.md Outdated
Comment thread partitioned-burgers-1d/README.md Outdated
Comment thread partitioned-burgers-1d/README.md Outdated
Comment thread partitioned-burgers-1d/README.md Outdated
Comment thread partitioned-burgers-1d/README.md Outdated
Comment thread partitioned-burgers-1d/README.md Outdated
Comment thread partitioned-burgers-1d/neumann-surrogate/requirements.txt Outdated
Comment thread partitioned-burgers-1d/README.md Outdated
@MakisH

MakisH commented Jun 11, 2026

Copy link
Copy Markdown
Member

@vidulejs I applied as much of the feedback as I could. Only a few comments are still missing:

It would be great if you could quickly add these comments, so that we can finally get this one merged and published.

@vidulejs

Copy link
Copy Markdown
Collaborator Author

Hey Makis! Thanks so much for the help and for budging me! Please see my commits, I hope I've addressed the last problems. Regarding the surrogate model training -- I added another paragraph to the existing README to explain what the .pth checkpoints are.

Actually, I can do one better and provide the full training scripts or the Jupyter notebook to reproduce the models. Problem is that those scripts are not up to the quality of the preCICE tutorials repo. I had created a public repo called neural-adapter where I did all of my master's thesis development work. It contains a bunch of slightly disorganized Jupyter notebooks and a few development artifacts. Anyway, today I pulled the repo on my new system and was able to reproduce the model training. I updated the README of that repo to include the model training workflow.

Now the question is whether to point to that repo for the model training or not. Please take a look and let me know if this is acceptable. Otherwise I could try to re-create a standalone training script just for this tutorial.

@MakisH

MakisH commented Jun 23, 2026

Copy link
Copy Markdown
Member

Thanks for the consistent follow-ups!

Actually, I can do one better and provide the full training scripts or the Jupyter notebook to reproduce the models. Problem is that those scripts are not up to the quality of the preCICE tutorials repo. I had created a public repo called neural-adapter where I did all of my master's thesis development work. It contains a bunch of slightly disorganized Jupyter notebooks and a few development artifacts. Anyway, today I pulled the repo on my new system and was able to reproduce the model training. I updated the README of that repo to include the model training workflow.

Now the question is whether to point to that repo for the model training or not. Please take a look and let me know if this is acceptable. Otherwise I could try to re-create a standalone training script just for this tutorial.

The repository is enough for me. But I would also suggest that you archive the scripts on Zenodo. I think that the right place would be youralready published thesis dataset. A v2 is possible and would get a different (but related) DOI. By putting the code on Zenodo, you will not have to worry about that GitHub repository again.

I would suggest merging this to make it available. Once your thesis is online and the training scripts are archived, please open another small PR modifying the README.

Comment thread partitioned-burgers-1d/README.md Outdated

@MakisH MakisH left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks good now, thank you! Let's update the README.md separately if/once there are any further URLs to add (thesis/code archive).

@MakisH MakisH merged commit 74177ef into develop Jun 23, 2026
1 check passed
@MakisH MakisH deleted the partitioned-burgers-1d branch June 23, 2026 17:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants